package gentle.service;

import com.baomidou.mybatisplus.plugins.Page;
import gentle.entity.*;
import org.springframework.ui.Model;

import java.text.ParseException;
import java.util.List;

/**
 *
 * @author py
 * @Date 2018年4月19日23:15:54
 */
public interface ICustomerService {
    List<CustomerInfo> selectPageListByQueryGetMap(Page<CustomerInfo> page, SearchCustomerInfo info);

    int getQueryPagesCount(Page<CustomerInfo> page, SearchCustomerInfo info);

    List<ConsultantInfo> total(String startArrivalTime, String endArrivalTime, String oneChannelValue, String doctor,
                               String twoChannelValue, String thrChannelValue, String fieldTc, String treatmentUnit,
                               String sreach, String dealStatus, String oppStatus,String abbreviation);

    List<CustomerInfo> selectPageQfListByQueryGetMap(Page<CustomerInfo> page, SearchCustomerInfo info);

    int getQueryPagesQfCount(Page<CustomerInfo> page, SearchCustomerInfo info);

    List<MembersUser> changeScanCode(String startUpdateTime1, String endUpdateTime1, String startUpdateTime2, String endUpdateTime2,
                                     String startAddTime1, String endAddTime1, String startAddTime2, String endAddTime2, String abbreviation);

    int getdcsByCustomerId(String id,String abbreviation);

    int getMemberStatus(String reservationsId);

    MembersArriveInfo addCustomerFzs(String customerPhone, String projectData, String treatmentUnit, String fieldTc, String doctor,String remarks,
                                     String reservationsId, String isFz,String startTimeValue, String duration, String customerId,String abbreviation,
                                     String userName,String outpatientName,String userId) throws ParseException;

    List<DiagnoseProjectInfo> getDiagnoseInfo(String projectCategory);

    String getDoctorStatus(String doctor, String value, String outpatientName);

    MembersArriveInfo addNatureCustomerCZ(String reservationsId, String customerName, String treatmentUnit,
                                          String fieldTc, String remarks, String abbreviation, String outpatientName,String userName) throws ParseException;

    int updateCustomeInfoValue(CustomerInfo info);

    List<PayServicedInfo> unclosedRecords(String reservationsId, String abbreviation, String areaAbbreviation);

    int addCustomerErnest(String remarks, String customerId,String [] str, String mode, String reservationsId, String fieldTcValue,
                          String abbreviation, String areaAbbreviation, String outpatientName,String userName,String sttleAccountsTime,String memberSwitch);

    List<UserDto> getReferee(String name,String abbreviation);

    int addCustomerScore(String jfbalance, String remarks, String mode, String customerId, String reservationsId,
                         String abbreviation, String outpatientName,String userName,String proportional);

    int verificationCodeTwo(String customerId, String productId,String abbreviation,String outpatientName,String userName);

    int updateReturnCashInfo(String jfbalance, String remarks, String mode, String customerId, String reservationsId,
                             String abbreviation,String outpatientName,String userName);

    int addOrthodonticsDeal(String remarks, String customerId,String [] str, String mode,String fieldTcValue,
                            String abbreviation, String outpatientName,String userName,String sttleAccountsTime);

    List<ScoreDealInfo> getScoreDealList(String reservationsId);

    List<ScoreDealInfo> getreturnCashRecordList(String reservationsId);

    int isMarket(String oneChannel);

    CustomerInfo isVoid(String customerId,String abbreviation);

    int updateGetTime(String customerId, String updateTime,String abbreviation);

    int updateChildrenCardOk(String reservationsId, String childrenCard, String abbreviation);

    int update_CustomeInfoValue(CustomerInfo info,String customerId,String abbreviation,String userId,String userName,String outpatientName);

    int batchChoiceTc(String fieldTc, String tcName, String remarks,String abbreviation,String userName);

    int update_mediumValue(String oneMedium2, String twoMedium2, String thrMedium2, String customerId, String abbreviation,String userName);

    int choiceDoctor(String customerId, String doctor, String remarks, String abbreviation);

    int choiceTc(String customerId, String tcName, String remarks,String abbreviation,String userId,String userName,String outpatientName);

    int treatmentUnitGrade(String initialization, String customerId,String treatmentUnitY, String areaAbbreviation);

    int update_TreatmentUnitValueOne(String initialization, String customerId, String remarks, String treatmentUnitY,
                                     String abbreviation,Integer auditOfDept,String userName,String outpatientName);

    int update_TreatmentUnitValueTwo(String initialization, String customerId,String abbreviation);

    int setZphone(String customerPhone, String customerPhone2, String customerId,String abbreviation,String userName,String outpatientName);

    int addPhone(String customerPhone3, String customerId,String abbreviation,String userName,String outpatientName);

    int toVoid(String toVoidremarks, String customerId,String abbreviation,String userName,String outpatientName);

    int updAppointmentPayServiceOK(String customerId,String projectData,String abbreviation,String outpatientName,String userName,String userId);

    int updateRemarksReservationOk(String customerId, String remarksReservation,String abbreviation,String outpatientName,String userName,String userId);

    int updateNumber(String customerId, String yellowNumber,String abbreviation,String outpatientName,String userName,String userId);

    List<CustomerReservationsUpdateLogInfo> getLogList(Page<CustomerReservationsUpdateLogInfo> page, SearchCustomerReservationsUpdateLogInfo info);

    int updateReservation(String customerPhone, String projectData, String endTimeValue, String treatmentUnit,String fieldTc, String doctor, String remarks, String reservationsId,
                          String startTimeValue, String customerId,String abbreviation,String outpatientName,String userName,String userId);

    int sureAppointment(String customerId,String abbreviation,String outpatientName,String userName,String userId);

    int no_sureAppointment(String customerId,String abbreviation,String outpatientName,String userName,String userId);

    int cancelAppointmentok(String customerId, String remarks,String abbreviation,String outpatientName,String userName,String userId);

    int regresses(String customerId,String abbreviation,String outpatientName,String userName,String userId);

    int startTreatment(String customerId,String abbreviation,String outpatientName,String userName,String userId);

    int completionTreatment(String customerId,String abbreviation,String outpatientName,String userName,String userId);

    int alreadyLeave(String customerId,String abbreviation,String outpatientName,String userName,String userId);

    int fallbackAction(String customerId,String arrivalStatus,String abbreviation,String outpatientName,String userName,String userId);

    List<CustomerInfo> getMakeNumer(String reservationsId, String abbreviation);

    List<CustomerInfo> getCustomerByStore(String reach, String pageStart, String pageSize,String abbreviation);

    int getdcsByReservationId(String id);

    String temporaryCustomer(String customerName,String customerAge,String customerPhone,String customerSex,String phoneSharShip,String abbreviation);

    int addTemporaryCustomer( String projectData, String duration, String treatmentUnit,String fieldTc, String doctor, String remarks,
                              String startTimeValue, String customerId,String abbreviation,String outpatientName,String userName,String userId) throws ParseException;

    int addTemporaryCustomerOK(CustomerInfo info,String abbreviation,String outpatientName,String userName,String userId);

    int addCustomerMarket(String customerPhone, String projectData, String duration, String treatmentUnit,String fieldTc, String doctor, String remarks, String reservationsId,
                          String startTimeValue,String abbreviation,String outpatientName,String userName,String userId) throws ParseException;

    StoreRecordsInfo getCustomerByReachNew(String reach, String pageStart, String pageSize, String abbreviation);

    CustomerInfo getCustomerByReservationsId(String reservationsId, String abbreviation);

    CustomerInfo getReservationsByReservationsId(String reservationsId);

    StoreRecordsInfo getCustomerByReach(String reach, String pageStart, String pageSize,String abbreviation);
}